#include <stdio.h>

void swap(int *a, int *b);
/*
 * 冒泡排序， 必须带上数组长度
 */
void bubbleSort(int arr[], int a);

int main()
{
    int array[] = {5, 6, 8, 2, 0, 5, 9, 3};
    int n = sizeof(array) / sizeof(array[0]);
    printf("sizeof %d / %d = %d\n",sizeof(array), sizeof(array[0]),n);
    bubbleSort(array,n);

    for (int i = 0; i < n; i++)
    {
        printf("%d\n", array[i]);
    }

    return 0;
}

void swap(int *a, int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

/*
 * 长度必须外边传进来
 */
void bubbleSort(int arr[], int n)
{
    // 8/4=2
    // int n = sizeof(arr) / sizeof(arr[0]);
    // printf("sizeof2: %d / %d = %d\n",sizeof(arr), sizeof(arr[0]),n);
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                swap(&arr[j], &arr[j + 1]);
            }
        }
    }
}